package lambad.demo02;

/**
 * @author 真香
 * @create 2021-06-03 16:58
 */


/**
 *
 *  总结：
 *  1、lambda表达式只能有一行执行代码的情况下才能简化成一行，如果有多行执行代码，必须用代码块包裹
 *  2、lambda语法的前提是函数式接口(接口中只能有一个方法)
 *  3、多个参数也可以去掉参数类型，要去掉就都去掉，多个参数必须加上括号。
 *
 *
 */


public class TestLambda2  {



    public static void main(String[] args) {


        // lambda 表达式简化
       /* ILove love = new ILove() {
            @Override
            public void love(int a) {
                System.out.println("i love you ---->" + a);
            }
        };
*/

       ILove love = null;
        // 简化1：参数类型

        love = (a) -> {
            System.out.println("i love you ---->" + a);
        };

        // 简化2 ：简化括号 只有一个参数时

        love = a -> {
            System.out.println("i love you ---->" + a);
        };

        // 简化3： 去掉花括号 只有一行执行代码时
        love= a-> System.out.println("i love you ---->" + a);

        love.love(521);



        Runnable runnable=null;
        runnable = ()-> System.out.println("runnable");
        runnable.run();
    }

}



interface ILove {
    void love(int a);
}
